package com.aliyun.oss.pojo.Vo;

import com.aliyun.oss.pojo.Entity.OrderDetail;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

public class AllOrdersVO {
    private Integer id;
    private String number;
    private Integer status;
    private Integer userId;
    private Integer addressBookId;
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderTime;
    private Integer payStatus;
    private BigDecimal amount;
    private String phone;
    private String address;
    private String userName;
    private String consignee;
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss")

    private LocalDateTime estimatedDeliveryTime;

    private List<OrderDetail> orderDetailList;

    @Override
    public String toString() {
        return "AllOrdersVO{" +
                "id=" + id +
                ", number='" + number + '\'' +
                ", status=" + status +
                ", userId=" + userId +
                ", addressBookId=" + addressBookId +
                ", orderTime=" + orderTime +
                ", payStatus=" + payStatus +
                ", amount=" + amount +
                ", phone='" + phone + '\'' +
                ", address='" + address + '\'' +
                ", userName='" + userName + '\'' +
                ", consignee='" + consignee + '\'' +
                ", estimatedDeliveryTime=" + estimatedDeliveryTime +
                ", orderDetailList=" + orderDetailList +
                '}';
    }

    public AllOrdersVO() {
    }

    public AllOrdersVO(Integer id, String number, Integer status, Integer userId, Integer addressBookId, LocalDateTime orderTime, Integer payStatus, BigDecimal amount, String phone, String address, String userName, String consignee, LocalDateTime estimatedDeliveryTime, List<OrderDetail> orderDetailList) {
        this.id = id;
        this.number = number;
        this.status = status;
        this.userId = userId;
        this.addressBookId = addressBookId;
        this.orderTime = orderTime;
        this.payStatus = payStatus;
        this.amount = amount;
        this.phone = phone;
        this.address = address;
        this.userName = userName;
        this.consignee = consignee;
        this.estimatedDeliveryTime = estimatedDeliveryTime;
        this.orderDetailList = orderDetailList;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public Integer getAddressBookId() {
        return addressBookId;
    }

    public void setAddressBookId(Integer addressBookId) {
        this.addressBookId = addressBookId;
    }

    public LocalDateTime getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(LocalDateTime orderTime) {
        this.orderTime = orderTime;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getConsignee() {
        return consignee;
    }

    public void setConsignee(String consignee) {
        this.consignee = consignee;
    }

    public LocalDateTime getEstimatedDeliveryTime() {
        return estimatedDeliveryTime;
    }

    public void setEstimatedDeliveryTime(LocalDateTime estimatedDeliveryTime) {
        this.estimatedDeliveryTime = estimatedDeliveryTime;
    }

    public List<OrderDetail> getOrderDetailList() {
        return orderDetailList;
    }

    public void setOrderDetailList(List<OrderDetail> orderDetailList) {
        this.orderDetailList = orderDetailList;
    }
}
